﻿namespace Serializator
{
    using Serializator.JSONObjects;

    public interface ISerializer
    {
        /// <summary>
        /// Provides custom serialization service
        /// </summary>
        /// <param name="obj">Object to serialization</param>
        /// <returns>JSON Object</returns>
        JSONObject Serialize(object obj);

        /// <summary>
        /// Provedes custom deserialization service
        /// </summary>
        /// <param name="serializedValue">JSON Object to deserialization</param>
        /// <returns>Deserialized object</returns>
        object DeSerialize(JSONObject serializedValue);
    }
}
